From 8a0dd452d2d9141e68f2d5eb82475735adb7c861 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Tue, 29 Sep 2020 15:57:33 +0200 Subject: [PATCH] gdkarray: Inline splice and reserve This inlines the splice and reserver GdkArray calls. These are typically only called from the gdk_array_(append/set_size) functions anyway, and inlining the caller means we can constant propagate the constant arguments in those calls. Its hard to get exact numbers, but in fishbowl i noticed a significant decrease in the time spent in the array code when pushing and poping states. --- gdk/gdkarrayimpl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/gdkarrayimpl.c b/gdk/gdkarrayimpl.c index 6692245aa7..65b74a3f59 100644 --- a/gdk/gdkarrayimpl.c +++ b/gdk/gdkarrayimpl.c @@ -141,7 +141,7 @@ gdk_array(is_empty) (const GdkArray *self) return self->end == self->start; } -G_GNUC_UNUSED static void +G_GNUC_UNUSED static inline void gdk_array(reserve) (GdkArray *self, gsize n) { @@ -178,7 +178,7 @@ gdk_array(reserve) (GdkArray *self, #endif } -G_GNUC_UNUSED static void +G_GNUC_UNUSED static inline void gdk_array(splice) (GdkArray *self, gsize pos, gsize removed, -- 2.30.2